// 子表格缓存对象
const subTables = {};

// 展开行
function expandRow(rowId) {
    const mainTable = $$("dbList");
    const rowIndex = mainTable.getIndexById(rowId);
    const rowData = mainTable.getItem(rowId);

    if (subTables[rowId]) return; // 防止重复展开

    // 创建子表格
    const subTableId = `subTable_${rowId}`;
    subTables[rowId] = true;

    // 在布局中插入子表格
    layout.addView({
        id: subTableId,
        view: "datatable",
        css: "subtable",
        header: true,
        columns: [
            { id: "subId", header: "子表ID", width: 100 },
            { id: "subTitle", header: "子表名称", fillspace: true }
        ],
        data: getSubData(rowId)
    }, rowIndex + 1); // 插入到主行下方

    // 更新图标状态
    rowData.expanded = true;
    mainTable.updateItem(rowId, rowData);
}

// 折叠行
function collapseRow(rowId) {
    const subTableId = `subTable_${rowId}`;
    if ($$(subTableId)) {
        layout.removeView(subTableId);
        delete subTables[rowId];
    }

    // 更新图标状态
    const mainTable = $$("mainTable");
    const rowData = mainTable.getItem(rowId);
    rowData.expanded = false;
    mainTable.updateItem(rowId, rowData);
}

// 模拟子数据获取
function getSubData(rowId) {
    const dataMap = {
        "1": [
            { subId: "1.1", subTitle: "子行1-1" },
            { subId: "1.2", subTitle: "子行1-2" }
        ],
        "2": [
            { subId: "2.1", subTitle: "子行2-1" },
            { subId: "2.2", subTitle: "子行2-2" }
        ]
    };
    return dataMap[rowId] || [];
}
